In a large distributed database system, traditional SQL (structured query language) backup and restore can be used for data protection. However, there are drawbacks. An on-disk copy of the backup of the full database is needed, which requires as much storage as the database being backed up. In addition, periodic backup of the transaction log is required for lower recovery point objective (RPO). Moreover, the recovery time objective (RTO) is poor because any restore operation, regardless of the data size involved, will need to have the full backup restored followed by applying a sequence of transaction log backup files. The process can be very time-consuming and labor-intensive, and the backup is stored in a binary format that is not directly queriable.